home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 November: Tool Chest / Dev.CD Nov 00 TC Disk 2.toast / pc / sample code / quicktime / quicktime for java / sgcapture2disk / src / sgcapture.java
Encoding:
Java Source  |  2000-09-28  |  2.2 KB  |  96 lines

  1. /*
  2.  * QuickTime for Java SDK Sample Code
  3.  
  4.    Usage subject to restrictions in SDK License Agreement
  5.  * Copyright: © 1996-1999 Apple Computer, Inc.
  6.  
  7.  */
  8. import java.awt.*;
  9. import java.awt.event.*;
  10.  
  11. import quicktime.std.*;
  12. import quicktime.qd.*;
  13. import quicktime.*;
  14. import quicktime.util.QTUtils;
  15.  
  16. import quicktime.std.StdQTConstants;
  17. import quicktime.std.sg.*;
  18.  
  19. import quicktime.app.sg.SGDrawer;
  20. import quicktime.util.*;
  21. import quicktime.app.display.QTCanvas;
  22. import quicktime.std.comp.*;
  23. import quicktime.std.comp.Component;
  24. import quicktime.app.image.*;
  25.  
  26. import MySGController.*;
  27.  
  28. public class SGCapture extends Frame implements WindowListener, StdQTConstants {    
  29.  
  30.     static final int kWidth = 320;
  31.     static final int kHeight = 240;
  32.     public QDGraphics mGraphics = null;
  33.     public QTCanvas         myQTCanvas;
  34.     public SGControlPanel     mControlPanel;
  35.     
  36.     public static void main (String args[]) {
  37.     try {
  38.             QTSession.open();        
  39.             SGCapture pm = new SGCapture("QT in Java");
  40.             pm.pack();
  41.             pm.show();
  42.             pm.toFront();
  43.         } catch (Exception e) {
  44.             e.printStackTrace();
  45.             QTSession.close();
  46.         }
  47.     }
  48.  
  49.     SGCapture (String title) {
  50.         super (title);
  51.         try {        
  52.             myQTCanvas = new QTCanvas(QTCanvas.kPerformanceResize, 0.5F, 0.5F);
  53.             myQTCanvas.setMaximumSize (new Dimension (640, 480));
  54.             myQTCanvas.setPreferredSize (new Dimension (kWidth, kHeight));
  55.             myQTCanvas.setSize (new Dimension (kWidth, kHeight));
  56.             
  57.             add ("Center", myQTCanvas);    
  58.             
  59.     //Create a control panel with 3 buttons that perform PowerOn,Start and Stop recording
  60.             mControlPanel = new SGControlPanel(myQTCanvas);
  61.             add("South", mControlPanel);        
  62.             addWindowListener(this);
  63.         } catch (Exception ee) {
  64.             ee.printStackTrace();
  65.             QTSession.close();
  66.         }
  67.     }
  68.  
  69.     
  70.     public void windowClosing (WindowEvent e) {
  71.         QTSession.close();
  72.         dispose();
  73.     }
  74.  
  75.  
  76.     public void windowIconified (WindowEvent e) {
  77.         mControlPanel.doAction(seqGrabPause);
  78.     }
  79.     
  80.     public void windowDeiconified (WindowEvent e) {
  81.         mControlPanel.doAction(seqGrabUnpause);
  82.     
  83.     }
  84.     
  85.     public void windowClosed (WindowEvent e) { 
  86.         System.exit(0);
  87.     }
  88.     
  89.     public void windowOpened (WindowEvent e) { 
  90.  
  91.     }
  92.     
  93.     public void windowActivated (WindowEvent e) {}
  94.     public void windowDeactivated (WindowEvent e) {}
  95. }
  96.